package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.CheckItem;
import com.itheima.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * @author 黑马程序员
 * @Company http://www.ithiema.com
 * @Version 1.0
 */
public interface RoleDao {

    //根据用户id查找所有对应角色
    Set<Role> findRolesByUserId(Integer userId);



    List<Integer> findRolesByUserId1(Integer userId);

    //查询所有角色
    List<Role> findAll();

    //添加角色
    void add(Role role);

    Page<Role> findByCondition(String queryString);

    //根据角色id查找角色信息
    Role findRoleById(Integer id);
//更新角色表
    void editRole(Role role);
//更新角色权限中间表
    void editRoleIdAndPermissionId(@Param("rid") Integer rid,@Param("permissionId")  Integer permissionId);
    //更新角色菜单中间表
    void editRoleIdAndMenuId(@Param("rid") Integer rid, @Param("menusId") Integer menusId);
    //根据ID删除对应的权限id
    void delRoleIdAndPermissionId(Integer rid);
    //根据ID删除对应的菜单id
    void delRoleIdAndMenuId(Integer rid);

    void del(Integer rid);
}
